package com.polymer.app.solution;

public class CompareVersion {

    /**
     * 比较两个版本号version1和version2。
                        如果version1 > version2返回1，如果version1 < version2返回-1，否则返回0。
                        您可以认为版本字符串是非空的并且只包含数字和 . 字符。
                        这个 '.' 字符不表示小数点，用于分隔数字序列。
                        例如，2.5不是“两个半”或“版本三的一半”，它是第二个第一级修订的第五个二级修订。
                        样例1
                        输入: version1 = "1"，version2 = "01"
                        输出: 0
                        样例2
                        输入: version1 = "4.9"，version2 = "4.5"
                        输出: 1
     * @param version1: the first given number
     * @param version2: the second given number
     * @return: the result of comparing
     */
    public int compareVersion(String version1, String version2) {
        // Write your code here
        
        String[] levels1 = version1.split("\\.");
        String[] levels2 = version2.split("\\.");

        int length = Math.max(levels1.length, levels2.length);
        for (int i = 0; i < length; i ++) {
            Integer v1 = i < levels1.length ? Integer.parseInt(levels1[i]) : 0;
            Integer v2 = i < levels2.length ? Integer.parseInt(levels2[i]) : 0;
            int compare = v1.compareTo(v2);
            if (compare != 0) {
                return compare;
            }
        }

        return 0;
    }  
}
